package com.zkthink.ceres.order.service;

import com.zkthink.base.R;
import com.zkthink.base.service.SuperService;
import com.zkthink.ceres.order.dto.comment.AddSensitiveKeywordDTO;
import com.zkthink.ceres.order.dto.comment.FindKeywordListDTO;
import com.zkthink.ceres.order.dto.comment.SensitiveKeywordPageDTO;
import com.zkthink.ceres.order.dto.comment.UpdateKeywordSettingDTO;
import com.zkthink.ceres.order.entity.SensitiveKeyword;
import com.zkthink.ceres.product.dto.IdQueryDTO;

/**
 * <p>
 * 业务接口
 * 敏感词表
 * </p>
 *
 * @author JustArgo
 * @date 2020-07-12
 */
public interface SensitiveKeywordService extends SuperService<SensitiveKeyword> {

    /**
     * 添加敏感词
     * @param addDTO
     * @return
     */
    R<Boolean> addSensitiveKeyword(AddSensitiveKeywordDTO addDTO);

    /**
     * 逻辑删除敏感词
     * @param idQueryDTO
     * @return
     */
    R<Boolean> deleteSensitiveKeyword(IdQueryDTO idQueryDTO);

    /**
     * 分页查询敏感词列表
     * @param keywordListDTO
     * @return
     */
    R<SensitiveKeywordPageDTO> findSensitiveKeywordList(FindKeywordListDTO keywordListDTO);

    /**
     * 更新敏感词的设置
     * @param updateKeywordSettingDTO
     * @return
     */
    R<Boolean> updateSensitiveKeywordSetting(UpdateKeywordSettingDTO updateKeywordSettingDTO);

    /** 更新敏感词
     * @author 善泉 2020/7/13 18:28
     * @return
     */
    R<Boolean> updateSensitiveKeyword(SensitiveKeyword sensitiveKeyword);

    /** 初始化敏感词配置，返回总共有多少个可用敏感词
     * @author 善泉 2020/7/13 18:56
     * @return
     */
    Integer initSensitiveKeyword();
}
